home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / javax / swing / JMenuItem.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  8.4 KB  |  368 lines

  1. package javax.swing;
  2.  
  3. import java.awt.Component;
  4. import java.awt.event.KeyEvent;
  5. import java.awt.event.MouseEvent;
  6. import java.io.IOException;
  7. import java.io.ObjectInputStream;
  8. import java.io.ObjectOutputStream;
  9. import javax.accessibility.Accessible;
  10. import javax.accessibility.AccessibleContext;
  11. import javax.swing.event.MenuDragMouseEvent;
  12. import javax.swing.event.MenuDragMouseListener;
  13. import javax.swing.event.MenuKeyEvent;
  14. import javax.swing.event.MenuKeyListener;
  15. import javax.swing.plaf.MenuItemUI;
  16.  
  17. public class JMenuItem extends AbstractButton implements Accessible, MenuElement {
  18.    private static final String uiClassID = "MenuItemUI";
  19.    private static final boolean TRACE = false;
  20.    private static final boolean VERBOSE = false;
  21.    private static final boolean DEBUG = false;
  22.    private boolean isMouseDragged;
  23.    private KeyStroke accelerator;
  24.  
  25.    public JMenuItem() {
  26.       this((String)null, (Icon)null);
  27.    }
  28.  
  29.    public JMenuItem(Icon var1) {
  30.       this((String)null, var1);
  31.    }
  32.  
  33.    public JMenuItem(String var1) {
  34.       this(var1, (Icon)null);
  35.    }
  36.  
  37.    public JMenuItem(Action var1) {
  38.       this();
  39.       this.setAction(var1);
  40.    }
  41.  
  42.    public JMenuItem(String var1, Icon var2) {
  43.       this.isMouseDragged = false;
  44.       this.setModel(new DefaultButtonModel());
  45.       this.init(var1, var2);
  46.       this.initFocusability();
  47.    }
  48.  
  49.    public JMenuItem(String var1, int var2) {
  50.       this.isMouseDragged = false;
  51.       this.setModel(new DefaultButtonModel());
  52.       this.init(var1, (Icon)null);
  53.       this.setMnemonic(var2);
  54.       this.initFocusability();
  55.    }
  56.  
  57.    public void setModel(ButtonModel var1) {
  58.       super.setModel(var1);
  59.       if (var1 instanceof DefaultButtonModel) {
  60.          ((DefaultButtonModel)var1).setMenuItem(true);
  61.       }
  62.  
  63.    }
  64.  
  65.    void initFocusability() {
  66.       this.setFocusable(false);
  67.    }
  68.  
  69.    protected void init(String var1, Icon var2) {
  70.       if (var1 != null) {
  71.          this.setText(var1);
  72.       }
  73.  
  74.       if (var2 != null) {
  75.          this.setIcon(var2);
  76.       }
  77.  
  78.       this.addFocusListener(new MenuItemFocusListener((1)null));
  79.       this.setUIProperty("borderPainted", Boolean.FALSE);
  80.       this.setFocusPainted(false);
  81.       this.setHorizontalTextPosition(11);
  82.       this.setHorizontalAlignment(10);
  83.       this.updateUI();
  84.    }
  85.  
  86.    public void setUI(MenuItemUI var1) {
  87.       super.setUI(var1);
  88.    }
  89.  
  90.    public void updateUI() {
  91.       this.setUI((MenuItemUI)UIManager.getUI(this));
  92.    }
  93.  
  94.    public String getUIClassID() {
  95.       return "MenuItemUI";
  96.    }
  97.  
  98.    public void setArmed(boolean var1) {
  99.       ButtonModel var2 = this.getModel();
  100.       boolean var3 = var2.isArmed();
  101.       if (var2.isArmed() != var1) {
  102.          var2.setArmed(var1);
  103.       }
  104.  
  105.    }
  106.  
  107.    public boolean isArmed() {
  108.       ButtonModel var1 = this.getModel();
  109.       return var1.isArmed();
  110.    }
  111.  
  112.    public void setEnabled(boolean var1) {
  113.       if (!var1 && !UIManager.getBoolean("MenuItem.disabledAreNavigable")) {
  114.          this.setArmed(false);
  115.       }
  116.  
  117.       super.setEnabled(var1);
  118.    }
  119.  
  120.    boolean alwaysOnTop() {
  121.       return SwingUtilities.getAncestorOfClass(JInternalFrame.class, this) == null;
  122.    }
  123.  
  124.    public void setAccelerator(KeyStroke var1) {
  125.       KeyStroke var2 = this.accelerator;
  126.       this.accelerator = var1;
  127.       this.repaint();
  128.       this.revalidate();
  129.       this.firePropertyChange("accelerator", var2, this.accelerator);
  130.    }
  131.  
  132.    public KeyStroke getAccelerator() {
  133.       return this.accelerator;
  134.    }
  135.  
  136.    protected void configurePropertiesFromAction(Action var1) {
  137.       super.configurePropertiesFromAction(var1);
  138.       this.configureAcceleratorFromAction(var1);
  139.    }
  140.  
  141.    void setIconFromAction(Action var1) {
  142.       Icon var2 = null;
  143.       if (var1 != null) {
  144.          var2 = (Icon)var1.getValue("SmallIcon");
  145.       }
  146.  
  147.       this.setIcon(var2);
  148.    }
  149.  
  150.    void largeIconChanged(Action var1) {
  151.    }
  152.  
  153.    void smallIconChanged(Action var1) {
  154.       this.setIconFromAction(var1);
  155.    }
  156.  
  157.    void configureAcceleratorFromAction(Action var1) {
  158.       KeyStroke var2 = var1 == null ? null : (KeyStroke)var1.getValue("AcceleratorKey");
  159.       this.setAccelerator(var2);
  160.    }
  161.  
  162.    protected void actionPropertyChanged(Action var1, String var2) {
  163.       if (var2 == "AcceleratorKey") {
  164.          this.configureAcceleratorFromAction(var1);
  165.       } else {
  166.          super.actionPropertyChanged(var1, var2);
  167.       }
  168.  
  169.    }
  170.  
  171.    public void processMouseEvent(MouseEvent var1, MenuElement[] var2, MenuSelectionManager var3) {
  172.       this.processMenuDragMouseEvent(new MenuDragMouseEvent(var1.getComponent(), var1.getID(), var1.getWhen(), var1.getModifiers(), var1.getX(), var1.getY(), var1.getXOnScreen(), var1.getYOnScreen(), var1.getClickCount(), var1.isPopupTrigger(), var2, var3));
  173.    }
  174.  
  175.    public void processKeyEvent(KeyEvent var1, MenuElement[] var2, MenuSelectionManager var3) {
  176.       MenuKeyEvent var4 = new MenuKeyEvent(var1.getComponent(), var1.getID(), var1.getWhen(), var1.getModifiers(), var1.getKeyCode(), var1.getKeyChar(), var2, var3);
  177.       this.processMenuKeyEvent(var4);
  178.       if (var4.isConsumed()) {
  179.          var1.consume();
  180.       }
  181.  
  182.    }
  183.  
  184.    public void processMenuDragMouseEvent(MenuDragMouseEvent var1) {
  185.       switch (var1.getID()) {
  186.          case 502:
  187.             if (this.isMouseDragged) {
  188.                this.fireMenuDragMouseReleased(var1);
  189.             }
  190.          case 503:
  191.          default:
  192.             break;
  193.          case 504:
  194.             this.isMouseDragged = false;
  195.             this.fireMenuDragMouseEntered(var1);
  196.             break;
  197.          case 505:
  198.             this.isMouseDragged = false;
  199.             this.fireMenuDragMouseExited(var1);
  200.             break;
  201.          case 506:
  202.             this.isMouseDragged = true;
  203.             this.fireMenuDragMouseDragged(var1);
  204.       }
  205.  
  206.    }
  207.  
  208.    public void processMenuKeyEvent(MenuKeyEvent var1) {
  209.       switch (var1.getID()) {
  210.          case 400:
  211.             this.fireMenuKeyTyped(var1);
  212.             break;
  213.          case 401:
  214.             this.fireMenuKeyPressed(var1);
  215.             break;
  216.          case 402:
  217.             this.fireMenuKeyReleased(var1);
  218.       }
  219.  
  220.    }
  221.  
  222.    protected void fireMenuDragMouseEntered(MenuDragMouseEvent var1) {
  223.       Object[] var2 = this.listenerList.getListenerList();
  224.  
  225.       for(int var3 = var2.length - 2; var3 >= 0; var3 -= 2) {
  226.          if (var2[var3] == MenuDragMouseListener.class) {
  227.             ((MenuDragMouseListener)var2[var3 + 1]).menuDragMouseEntered(var1);
  228.          }
  229.       }
  230.  
  231.    }
  232.  
  233.    protected void fireMenuDragMouseExited(MenuDragMouseEvent var1) {
  234.       Object[] var2 = this.listenerList.getListenerList();
  235.  
  236.       for(int var3 = var2.length - 2; var3 >= 0; var3 -= 2) {
  237.          if (var2[var3] == MenuDragMouseListener.class) {
  238.             ((MenuDragMouseListener)var2[var3 + 1]).menuDragMouseExited(var1);
  239.          }
  240.       }
  241.  
  242.    }
  243.  
  244.    protected void fireMenuDragMouseDragged(MenuDragMouseEvent var1) {
  245.       Object[] var2 = this.listenerList.getListenerList();
  246.  
  247.       for(int var3 = var2.length - 2; var3 >= 0; var3 -= 2) {
  248.          if (var2[var3] == MenuDragMouseListener.class) {
  249.             ((MenuDragMouseListener)var2[var3 + 1]).menuDragMouseDragged(var1);
  250.          }
  251.       }
  252.  
  253.    }
  254.  
  255.    protected void fireMenuDragMouseReleased(MenuDragMouseEvent var1) {
  256.       Object[] var2 = this.listenerList.getListenerList();
  257.  
  258.       for(int var3 = var2.length - 2; var3 >= 0; var3 -= 2) {
  259.          if (var2[var3] == MenuDragMouseListener.class) {
  260.             ((MenuDragMouseListener)var2[var3 + 1]).menuDragMouseReleased(var1);
  261.          }
  262.       }
  263.  
  264.    }
  265.  
  266.    protected void fireMenuKeyPressed(MenuKeyEvent var1) {
  267.       Object[] var2 = this.listenerList.getListenerList();
  268.  
  269.       for(int var3 = var2.length - 2; var3 >= 0; var3 -= 2) {
  270.          if (var2[var3] == MenuKeyListener.class) {
  271.             ((MenuKeyListener)var2[var3 + 1]).menuKeyPressed(var1);
  272.          }
  273.       }
  274.  
  275.    }
  276.  
  277.    protected void fireMenuKeyReleased(MenuKeyEvent var1) {
  278.       Object[] var2 = this.listenerList.getListenerList();
  279.  
  280.       for(int var3 = var2.length - 2; var3 >= 0; var3 -= 2) {
  281.          if (var2[var3] == MenuKeyListener.class) {
  282.             ((MenuKeyListener)var2[var3 + 1]).menuKeyReleased(var1);
  283.          }
  284.       }
  285.  
  286.    }
  287.  
  288.    protected void fireMenuKeyTyped(MenuKeyEvent var1) {
  289.       Object[] var2 = this.listenerList.getListenerList();
  290.  
  291.       for(int var3 = var2.length - 2; var3 >= 0; var3 -= 2) {
  292.          if (var2[var3] == MenuKeyListener.class) {
  293.             ((MenuKeyListener)var2[var3 + 1]).menuKeyTyped(var1);
  294.          }
  295.       }
  296.  
  297.    }
  298.  
  299.    public void menuSelectionChanged(boolean var1) {
  300.       this.setArmed(var1);
  301.    }
  302.  
  303.    public MenuElement[] getSubElements() {
  304.       return new MenuElement[0];
  305.    }
  306.  
  307.    public Component getComponent() {
  308.       return this;
  309.    }
  310.  
  311.    public void addMenuDragMouseListener(MenuDragMouseListener var1) {
  312.       this.listenerList.add(MenuDragMouseListener.class, var1);
  313.    }
  314.  
  315.    public void removeMenuDragMouseListener(MenuDragMouseListener var1) {
  316.       this.listenerList.remove(MenuDragMouseListener.class, var1);
  317.    }
  318.  
  319.    public MenuDragMouseListener[] getMenuDragMouseListeners() {
  320.       return (MenuDragMouseListener[])this.listenerList.getListeners(MenuDragMouseListener.class);
  321.    }
  322.  
  323.    public void addMenuKeyListener(MenuKeyListener var1) {
  324.       this.listenerList.add(MenuKeyListener.class, var1);
  325.    }
  326.  
  327.    public void removeMenuKeyListener(MenuKeyListener var1) {
  328.       this.listenerList.remove(MenuKeyListener.class, var1);
  329.    }
  330.  
  331.    public MenuKeyListener[] getMenuKeyListeners() {
  332.       return (MenuKeyListener[])this.listenerList.getListeners(MenuKeyListener.class);
  333.    }
  334.  
  335.    private void readObject(ObjectInputStream var1) throws IOException, ClassNotFoundException {
  336.       var1.defaultReadObject();
  337.       if (this.getUIClassID().equals("MenuItemUI")) {
  338.          this.updateUI();
  339.       }
  340.  
  341.    }
  342.  
  343.    private void writeObject(ObjectOutputStream var1) throws IOException {
  344.       var1.defaultWriteObject();
  345.       if (this.getUIClassID().equals("MenuItemUI")) {
  346.          byte var2 = JComponent.getWriteObjCounter(this);
  347.          --var2;
  348.          JComponent.setWriteObjCounter(this, var2);
  349.          if (var2 == 0 && this.ui != null) {
  350.             this.ui.installUI(this);
  351.          }
  352.       }
  353.  
  354.    }
  355.  
  356.    protected String paramString() {
  357.       return super.paramString();
  358.    }
  359.  
  360.    public AccessibleContext getAccessibleContext() {
  361.       if (this.accessibleContext == null) {
  362.          this.accessibleContext = new AccessibleJMenuItem(this);
  363.       }
  364.  
  365.       return this.accessibleContext;
  366.    }
  367. }
  368.